package com.haisen.service;

import com.dingtalk.api.response.OapiDepartmentListResponse;
import com.haisen.dataobject.dto.TreeDto;
import com.haisen.dataobject.entity.Organization;
import tk.mybatis.mapper.weekend.Weekend;

import java.util.List;

/**
 * @author cjbi
 */
public interface OrganizationService {

    void createOrganization(Organization organization);

    void updateOrganization(Organization organization);

    void deleteOrganization(Long organizationId);

    Organization findOne(Long organizationId);

    List<Organization> find(Weekend example);

    List<TreeDto> findOrgTree(Long pId);

    List<Organization> findAll();

    List<Organization> findAllWithExclude(Organization excludeOraganization);

    void move(Organization source, Organization target);

    void createOrUpdate(List<OapiDepartmentListResponse.Department> departmentList);

    List<String> findByIds(Long[] ids);
}
